[svn] / public / sloppy / README Repository:
ViewVC logotype

View of /public/sloppy/README

Parent Directory Parent Directory | Revision Log Revision Log

Revision 41 - (download) (annotate)
Sun Aug 31 20:07:18 2008 UTC (31 hours, 52 minutes ago) by anari
File size: 3761 byte(s)
Final tweaks for v0.1

README for Sloppy v0.1 -- $Id$

SUMMARY

Sloppy (Silo + .py) is software to host a web-accessible storage service 
intended to be accessed from LSL scripts within Second Life.  Other people
have solved this problem in other ways in the past; here is what might be
a little different about Sloppy:

- Designed as a drop-in replacement for Silo, an existing PHP-Based storage
  solution for LSL scripts in Second Life written by Zero Linden.
- Written in Python with Google's App Engine SDK for free hosting on their
  cloud computing service.

Sloppy was was implemented over the course of an evening or two primarily
as a testing ground and proof of concept for using Google App Engine servers
to provide persistent storage for LSL.  For this reason, and since it is my
first Google App Engine application, the code is not as polished as it
could be.

If using Google App Engine this way proves valuable, I may look at
implementing a new system from the ground up with a better API.  Feedback
is welcome on that front.  Bug reports are also welcome.

DETAILS

There are some tradeoffs that come with Google App Engine and with using
a drop-in replacement for Silo.

Upsides:

+ If you already use Silo, this should hopefully "just work."
+ You don't need your own web hosting.
+ You don't need to trust some random SL user who is offering free web data
  hosting.
+ Google is presumably less likely to have a serious, extended outage than
  most smaller mom and pop web hosting service providers.  Availability is
  important; utilizing external data storage can introduce a single point
  of failure for your scripts.
+ This code is released under a permissive BSD-style license (see the 
  included LICENSE file.)

Downsides:

- I don't particularly like the Silo protocol.
- You have to trust Google with your data.
- Getting something set up on App Engine is probably not for novices (though
  Google provides plenty of documentation and some great examples to get
  stated with.)  I will not be providing support in getting your application
  setup outside of this document.
- You may not be able to get a google app engine account.  When I signed up,
  they said there were no more beta accounts available, but a little later I
  checked back and had access anyway.
- Google does not presently sell additional resources if you go over the
  alotted resource quotas with your free account.

CONTENTS:

- README:       this file.
- sloppy.py:    this is the code that's implemented on Google's servers.
- app.yaml:     configuration data for the application
- index.yaml:   configures indexes for sloppys data store
- example.lsl:  brain dead demonstration client.
- test.lsl:     a few unit tests for the application.

QUICK SETUP

- Get a google app engine account.
- Create an application on google appe engine.
- Install the google app engine SDK on your test system.
- Extract the tarball this README was included into somewhere.
- Edit 'app.yaml'; update the name to the one you chose while creating
  the application on Google's site.
- run appcfg.py against the directory you extracted the tarball into:
    appcfg.py update sloppy/ 
- I'm not sure if your indexes are set up automatically or not.  If they
  are not, this should create the ones sloppy uses.
    appcfg.py update_indexes sloppy/

LOCAL TEST SETUP

- Install the google app engine SDK on your test system.
- Extract the tarball onto your test system.
- run:  dev_appengine.py sloppy/

By default, this will start a webserver running locally on 
http://localhost:8080/ that you can use as a full sloppy
service.

CONTACT:

    anari.demme@gmail.com
    Anari Demme in Second Life

ACKNOWLEDGEMENTS:

Schmobag Hogfather for the initial bright idea to use App Engine for this
purpose.

Anari Demme
ViewVC Help
Powered by ViewVC 1.0.5